home *** CD-ROM | disk | FTP | other *** search
- /*************************************************************************************************
- *
- *
- * MacZoop - "the framework for the rest of us"
- *
- *
- *
- * ZResourceFile.h -- a generic resource file/manager object
- *
- *
- *
- *
- *
- * © 1997, Graham Cox
- *
- *
- *
- *
- *************************************************************************************************/
-
- #pragma once
-
- #ifndef __ZRESOURCEFILE__
- #define __ZRESOURCEFILE__
-
- #ifndef __ZFILE__
- #include "ZFile.h"
- #endif
-
- #include <resources.h>
-
- class ZResourceFile : public ZFile
- {
- public:
-
- ZResourceFile( const FSSpec& aSpec );
- ZResourceFile( Str255 fName );
- ZResourceFile( const short resRefNum );
-
- // getting resources
-
- virtual Handle ReadResource( const ResType aType, const short resID, const Boolean detachIt = FALSE );
- virtual Handle ReadResource( const short index, const ResType aType, const Boolean detachIt = FALSE );
- virtual Handle ReadResource( const ResType aType, Str255 resName, const Boolean detachIt = FALSE );
-
- // resource info
-
- virtual Boolean OwnsResource( Handle aResHandle );
- virtual Boolean HasResource( const ResType aType, const short resID );
- virtual Boolean HasResType( const ResType aType );
-
- virtual short TotalResources();
- virtual short CountResources( const ResType aType );
-
- virtual short GetRFAttributes();
-
- virtual void GetResourceInfo( Handle aResHandle, ResType* itsType, short* itsID, Str255 itsName );
- virtual void GetResourceInfo( Handle aResHandle, ResType* itsType, short* itsID );
-
- // writing resources
-
- virtual void WriteResource( Handle aResHandle, const ResType aType, const short resID );
- virtual void WriteResource( Ptr data, const long length, const ResType aType, const short resID );
-
- // deleting resources
-
- virtual void DeleteResource( Handle aResHandle );
- virtual void DeleteResource( const ResType aType, const short resID );
- virtual void DeleteAll();
-
- // other stuff
-
- virtual void ResourceModified( Handle aResHandle );
- virtual void Flush();
-
- };
-
-
- // pass to Write resource (resID) to allocate a unique ID
-
- #define _UNIQUE_ID -1
-
-
- #endif